<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>promise</title>
</head>
<body>
<!--
  Promise对象:代表了未来某个将要发生的事件
  有了Promise对象 可以将异步操作以同步的流程表达出来 避免了层层嵌套的回调函数(俗称:'回调地狱')
  let promise = new Promise((resolve,reject) => {
    //初始化promise状态为pending
    //执行异步操作
    if(异步操作成功){
      resolve(value);//修改promise的状态为fullfilled
    }else{
      reject(errMsg);//修改promise的状态为rejected
    }
    
    调用promise的then
    promise.then(function(
      result => console.log(result),
      errorMsg => alert(errorMsg)
    ));
    
    promise对象的三个状态
    * pending 初始化状态
    * fullfilled 成功状态
    * rejected 失败状态
    
    
    
  
  })
-->

<script>
  let promise = new Promise((resolve,rejected)=>{
    //初始化promise
    console.log('111');
    //执行异步操作 通常是发送ajax请求 开启定时器
    setTimeout(()=>{
      console.log('333');
      //根据异步任务的返回结果去修改promise的状态
      resolve('这是成功的数据');//修改promise的状态为fullfilled
      //reject();//修改promise的状态为rejected
    }, 2000)
  })

  console.log('222');
  promise.then((data)=>{//成功的回调
    console.log(data,'成功了...');
  
  },(error)=>{//失败的回调
    console.log('失败了...',error)
  })
</script>
</body>
</html>